package com.storage.system.service;

import com.storage.common.core.domain.AjaxResult;
import com.storage.common.core.domain.ServiceResponse;
import com.storage.common.core.page.TableDataInfo;
import com.storage.system.domain.StorageShopOrder;
import com.storage.system.domain.StorageUser;
import com.storage.system.vo.SellDetailInfo;

import java.util.Date;
import java.util.List;

/**
 * 店铺销售订单 服务层
 *
 * @author ruoyi
 * @date 2019-08-26
 */
public interface IStorageShopOrderService {
    /**
     * 查询店铺销售订单信息
     *
     * @param id 店铺销售订单ID
     * @return 店铺销售订单信息
     */
    public StorageShopOrder selectStorageShopOrderById(Long id);

    /**
     * 查询店铺销售订单列表
     *
     * @param storageShopOrder 店铺销售订单信息
     * @return 店铺销售订单集合
     */
    public ServiceResponse<TableDataInfo> selectStorageShopOrderList(StorageUser currUser, StorageShopOrder storageShopOrder, Integer pageNum, Integer pageSize);

    /**
     * 新增店铺销售订单
     *
     * @param storageShopOrder 店铺销售订单信息
     * @return 结果
     */
    public int insertStorageShopOrder(StorageShopOrder storageShopOrder);

    /**
     * 修改店铺销售订单
     *
     * @param storageShopOrder 店铺销售订单信息
     * @return 结果
     */
    public AjaxResult updateStorageShopOrder(StorageUser currUser, StorageShopOrder storageShopOrder);

    /**
     * 删除店铺销售订单信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteStorageShopOrderByIds(String ids);

    /**
     * 查询店铺 商品销售数据列表
     */
    ServiceResponse<TableDataInfo> getShopSellDetail(StorageUser storageUser, StorageShopOrder shopOrder, Date startTime, Date endTime, Integer pageNum, Integer pageSize);

    /**
     * 查询移动端首页销售数据
     * @param storageUser
     * @param storageShopOrder
     * @return
     */
    ServiceResponse<List<SellDetailInfo>> queryShopHomePageData(StorageUser storageUser, StorageShopOrder storageShopOrder);
}
